home *** CD-ROM | disk | FTP | other *** search
-
-
-
- bbbbggggnnnnttttrrrriiii((((3333GGGG)))) bbbbggggnnnnttttrrrriiii((((3333GGGG))))
-
-
-
- NNNNAAAAMMMMEEEE
- bbbbggggnnnnttttrrrriiii,,,, eeeennnnddddttttrrrriiii - delimit a NURBS surface trimming loop
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee bbbbggggnnnnttttrrrriiii
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee eeeennnnddddttttrrrriiii
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- _n_o_n_e
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- Use bbbbggggnnnnttttrrrriiii to mark the beginning of a definition for a trimming loop. Use
- eeeennnnddddttttrrrriiii to mark the end of a definition for a trimming loop. A trimming
- loop is a set of oriented curves (forming a closed curve) that defines
- boundaries of a NURBS surface. You include these trimming loop
- definitions in the definition of a NURBS surface.
-
- The definition for a NURBS surface may contain many trimming loops. For
- example, if you wrote a definition for NURBS surface that resembled a
- rectangle with a hole punched out, the definition would contain two
- trimming loops. One loop would define the outer edge of the rectangle.
- The other trimming loop would define the hole punched out of the
- rectangle. The definitions of each of these trimming loops would be
- bracketed by a bbbbggggnnnnttttrrrriiii////eeeennnnddddttttrrrriiii pair.
-
- The definition of a single closed trimming loop may consist of multiple
- curve segments, each described as a piecewise linear curve (see ppppwwwwllllccccuuuurrrr)
- or as a single NURBS curve (see nnnnuuuurrrrbbbbsssscccc), or as a combination of both in
- any order. The only Graphics library calls that can appear in a trimming
- loop definition (between a call to bbbbggggnnnnttttrrrriiii and a call to eeeennnnddddttttrrrriiii) are
- ppppwwwwllllccccuuuurrrr and nnnnuuuurrrrbbbbsssscccc.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- bbbbggggnnnnttttrrrriiii((((3333GGGG)))) bbbbggggnnnnttttrrrriiii((((3333GGGG))))
-
-
-
- In the following code fragment, we define a single trimming loop that
- consists of one piecewise linear curve and two NURBS curves:
-
- call bgntri
- call pwlcur(. . .)
- call nurbsc(. . .)
- call nurbsc(. . .)
- call endtri
-
-
- The area of the NURBS surface that the system displays is the region in
- the domain to the left of the trimming curve as the curve parameter
- increases. Thus, the resultant visible region of the NURBS surface is
- inside for a counter-clockwise trimming loop and outside for a clockwise
- trimming loop. So for the rectangle mentioned earlier, the trimming loop
- for the outer edge of the rectangle should run counter-clockwise, and the
- trimming loop for the hole punched out should run clockwise.
-
- If you use more than one curve to define a single trimming loop, the
- curve segements must form a closed loop (i.e, the endpoint of each curve
- must be the starting point of the next curve, and the endpoint of the
- final curve must be the starting point of the first curve). If the
- endpoints of the curve are sufficiently close together but not exactly
- coincident, the system coerces the them to match. If the endpoints are
- not sufficiently close, the system generates an error message and ignores
- the entire trimming loop.
-
- If a trimming loop definition contains multiple curves, the direction of
- the curves must be consistent (i.e., the inside must be to the left of
- the curves). Nested trimming loops are legal as long as the curve
- orientations alternate correctly. If no trimming information is given
- for a NURBS surface, the entire surface is drawn.
-
- NNNNOOOOTTTTEEEE
- On Impact and Infinite Reality llllmmmmccccoooolllloooo cannot be called between bbbbggggnnnnttttrrrriiii and
- eeeennnnddddttttrrrriiii
-
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- bgnsur, nurbss, nurbsc, pwlcur, setnur, getnur
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-